Communication system using communication network and communication method

ABSTRACT

A communication system for guaranteeing only one each of two processing operations, correlated with each other and executed on different devices. A server has a unit which, on receipt of a first processing request, with identification information, executes this processing only once for one item of the identification, and a unit for transmitting a first processing completion notice to the transmission source of the processing request on completion of the first processing or on re-receipt of the processing request for the first processing with the same identification of the completed first processing. The client has a server, a unit for transmitting the processing request for first processing with identification information, a unit for executing a second processing, previously correlated with the first processing, on receipt of the completion notice, and a unit for re-transmitting a processing request on detection of an error before receipt of a transmitted completion notice.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No.10/363,379, filed on Feb. 27, 2003, which is a U.S. national stageapplication of International Application No. PCT/JP02/06700, filed onJul. 2, 2002, which has designated the U.S. and claims priority to JapanPatent Application No. 2001-204575 filed on Jul. 5, 2001, thedisclosures of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

This invention relates to a communication system for informationcommunication between computers, a server device, a client device, aportable telephone set, a communication method, a concerted processingproviding method, a concerted processing method, a billing surrogatingmethod, a content validating method, a program and a recording medium.More particularly, it relates to a communication system for performingconcerted processing among plural devices, interconnected over anetwork, a server device, a client device, a portable telephone set, acommunication method, a concerted processing providing method, aconcerted processing method, a billing surrogating method, a contentvalidating method, a program and a recording medium.

In keeping pace with the development of information processingapparatus, including computers, first of all, it has become possible tohandle digital content, such as music or pictures, referred to below ascontent, by information processing apparatus, including computers.Moreover, in keeping pace with the development of informationcommunication technology, services which permit variable content to bepurchased over a communication network, using information processingapparatus, such as computers, are being offered in increasing numbers.

For example, if a user finds content he/she desires at a shop on thenetwork (server device), he/she is able to download the encryptedcontent to a client device. At this time point, the content is still inan encrypted state, such that the content is not adequatelyreproducible, that is, the content is not validated.

The user transmits information necessary for payment of the cost topurchase the content to the server device. The server device thenreturns information for validating the content, for example, decodingkey data, to the client device. Using the information thus sent from theserver device, the client device is able to validate the content.

When validated, the content becomes usable in the client device. Forexample, if the content is music data, the music can be reproduced.

Meanwhile, in a system providing these services, content validation andpayment of the cost to purchase must necessarily occur insynchronization with each other. That is, if the process of validatingthe content is performed, the process of payment of the cost to purchasemust necessarily be performed. In a similar manner, when the process ofpayment of the cost to purchase is performed, the process of validatingthe content must necessarily be performed.

In data communication over a wide network, such as the Internet, thereare occasions where transactions cannot be terminated due to, e.g.,network malfunctions. For example, if malfunctions occur on the networkas the ID (identification) and the password are being transmitted fromthe server device to the client device, there arises a situation inwhich, even though the user has made payment, the user cannot validatethe content. If the user information necessary for payment isre-transmitted from the client to the server, the cost is collected induplicate.

Thus, there is a need for a system which guarantees that, if a networkmalfunction has occurred, but one of the process of validating thecontent and the process of payment of the cost to purchase is completed,the other processing can necessarily be completed.

SUMMARY OF THE INVENTION

In view of the above-described status of the art, it is an object of thepresent invention to provide a communication system, a server device, aclient device, a portable telephone set, a communication method, aconcerted processing providing method, a concerted processing method, abilling surrogating method, a content validating method, a program and arecording medium, in which one each of two processing operations, whichare correlated with each other and which are executed on differentdevices, is guaranteed.

For accomplishing the above object, the present invention provides acommunication system for performing concerted processing among aplurality of devices interconnected over a network. The communicationsystem includes a server device including first processing executingmeans which, on receipt of a processing request for a first processing,afforded with the identification information, executes the firstprocessing once for one item of the identification information, andcompletion notice transmitting means which, on completion of the firstprocessing by the first processing executing means, or on re-receipt ofthe processing request for the first processing, afforded with the sameidentification information as that of the completed first processing,transmits a completion notice of the first processing to the source oftransmission of the processing request, and a client device includingprocessing request transmission means for transmitting the processingrequest for the first processing, afforded with the identificationinformation, to the server device, second processing executing meanswhich, on receipt of the completion notice from the server device,executes second processing correlated in advance with the firstprocessing, and re-transmitting means which, on detection of acommunication error before receipt of the completion notice responsiveto the processing request transmitted by the processing requesttransmission means, re-transmits the processing request to the serverdevice.

In the communication system according to the present invention, theprocessing request transmitting means of the client device transmits aprocessing request for the first processing, afforded with theidentification information, to the server device. If the processingrequest is a first one, the first processing is executed by the firstprocessing executing means of the server device. On completion of thefirst processing, a completion notice is transmitted to the clientdevice by the completion notice transmitting means. When the completionnotice reaches the client device, the second processing is executed bythe second processing executing means. If a communication error isdetected before the completion notice reaches the client device, theprocessing request is re-transmitted by the re-transmitting means. Sincethe first processing has already been finished, the server device doesnot execute the first processing, but a completion notice is transmittedto the client device by the completion notice transmitting means.

The present invention also provides an alternative communication systemfor executing a sequence of processing operations for validatinginvalidated contents by a plurality of devices interconnected over anetwork. The communication system includes a server device, in turnincluding billing processing executing means which, on receipt of aprocessing request for billing processing for the cost of the contents,afforded with the identification information, executes the billingprocessing only once for one item of the identification information, andcompletion notice transmitting means which, on completion of the billingprocessing by the billing processing executing means, or on re-receiptof the processing request for the billing processing, afforded with thesame identification information as that of the completed billingprocessing, transmits a completion notice of the billing processing tothe source of transmission of the processing request, and a clientdevice including processing request transmission means for transmittingthe processing request for the billing processing for the contents,afforded with the identification information, to the server device,validation processing executing means which, on receipt of thecompletion notice from the server device, executes the processing ofvalidating the invalidated contents, and re-transmitting means which, ondetection of a communication error before receipt of the completionnotice for the processing request transmitted by the processing requesttransmission means, re-transmits the processing request to the serverdevice.

In this communication system, the processing request transmitting meansof the client device transmits the processing request for the firstprocessing, afforded with the identification information, to the serverdevice. If the processing request is a first one, the processing ofbilling the cost of the contents is executed by the first processingexecuting means. When the billing processing is completed, a completionnotice is transmitted to the client device by the completion noticetransmitting means. When the completion notice reaches the clientdevice, the processing of validating the contents is executed by thesecond processing executing means. If a communication error is detectedbefore the completion notice reaches the client device, the processingrequest is re-transmitted by the re-transmitting means. Since thebilling processing has already been completed in the server device, thebilling processing is not executed, but the completion notice istransmitted to the client device by the completion notice transmittingmeans.

The present invention also provides a server device for performingconcerted processing with another device interconnected over a network.The server device includes first processing executing means which, onreceipt of a processing request for first processing, afforded with theidentification information, executes the first processing only once forone item of the identification information, and completion noticetransmitting means which, on completion of the first processing by thefirst processing executing means, or on re-receipt of the processingrequest for the first processing, afforded with the same identificationinformation as that of the completed first processing, transmits acompletion notice of the first processing to the source of transmissionof the processing request.

This server device is used as a server device for the communicationsystem according to the present invention.

The present invention also provides a server device for surrogatingbilling of the cost for payable contents. The server device includesbilling processing executing means which, on receipt of a processingrequest for billing processing for the cost of the contents, affordedwith the identification information, executes the billing processingonly once for one item of the identification information, and completionnotice transmitting means which, on completion of the billing processingby the billing processing executing means, or on re-receipt of theprocessing request for the billing processing, afforded with the sameidentification information as that of the completed billing processing,transmits a completion notice of the billing processing to the source oftransmission of the processing request.

This server device is used as a server device for the alternativecommunication system according to the present invention described above.

The present invention also provides a client device for performingconcerted processing with a server device connected thereto over anetwork. The client device includes processing request transmittingmeans for transmitting a processing request for first processing,afforded with the identification information, to the server device,second processing executing means which, on receipt of a completionnotice of the first processing from the server device, executes secondprocessing, correlated in advance with the first processing, andre-transmitting means which, if a communication error has been detectedbefore receipt of a completion notice for the processing requesttransmitted by the processing request transmitting means, re-transmitsthe processing request to the server device.

This client device is used as a client device for the communicationsystem according to the present invention.

The present invention provides a client device for validatinginvalidated contents by concerted processing with the processing by aserver device. The client device includes processing requesttransmitting means for transmitting a processing request for billingprocessing, afforded with the identification information, to the serverdevice, validation processing executing means which, on receipt of acompletion notice of the billing processing from the server device,validates the invalidated contents, and re-transmitting means which, ifa communication error has been detected before receipt of a completionnotice for the processing request transmitted by the processing requesttransmitting means, re-transmits the processing request to the serverdevice.

This client device is used as a client device for the alternativecommunication system of the present invention described above.

The present invention also provides a portable telephone set forvalidating invalidated contents by concerted processing with theprocessing by a server device. The portable telephone set includesprocessing request transmitting means for transmitting a processingrequest for billing processing, afforded with the identificationinformation, to the server device, validation processing executing meanswhich, on receipt of a completion notice of the billing processing fromthe server device, validates the invalidated contents, andre-transmitting means which, if a communication error has been detectedbefore receipt of a completion notice for the processing requesttransmitted by the processing request transmitting means, re-transmitsthe processing request to the server device.

The portable telephone set is used as a client device of thecommunication system according to the present invention.

The present invention also provides a communication method forperforming concerted processing between a server device and a clientdevice interconnected over a network. The communication method includesa step of the client device transmitting a processing request for afirst processing, afforded with the identification information, to theserver device, a step of the server device executing the firstprocessing only once for one item of the identification information, onreceipt of the processing request, and of the server device transmittinga completion notice of the first processing to the client device, oncompletion of the first processing or on re-receipt of the processingrequest for the first processing, afforded with the same identificationinformation as that of the completed first processing, and a step of theclient device executing the second processing, correlated in advancewith the first processing, on receipt of the completion notice from theserver device, and of the client device re-transmitting the processingrequest to the server device on detection of a communication errorbefore receipt of the completion notice.

With the communication method of the present invention, the processingsimilar to that executed in the communication system of the presentinvention is achieved.

The present invention also provides an alternative communication methodfor performing a sequence of processing operations for validatinginvalidated contents between a server device and a client deviceinterconnected over a network. The alternative communication methodincludes a step of the client device transmitting a processing requestfor billing processing for the cost of the contents, afforded with theidentification information, to the server device, a step of the serverdevice executing the billing processing only once for one item of theidentification information, on receipt of the processing request, and ofthe server device transmitting a completion notice of the billingprocessing to the client device, on completion of the billing processingor on re-receipt of the processing request for the billing processingafforded with the same identification information as that of the billingprocessing completed, and a step of the client device validating theinvalidated contents, on receipt of the completion notice from theserver device, and of the client device re-transmitting the processingrequest to the server device on detection of a communication errorbefore receipt of the completion notice.

With this communication method, the processing similar to that executedon the alternative communication system of the present invention isachieved.

The present invention also provides a method for providing concertedprocessing in a server device, adapted for performing concertedprocessing with another device interconnected to the server device overa network. The concerted processing providing method includes the stepsof executing first processing, on receipt of a processing request forthe first processing, afforded with the identification information, onlyonce for one item of the identification information, and transmitting acompletion notice of the first processing to the source of transmissionof the processing request, on completion of the first processing, or onre-receipt of the processing request for the first processing, affordedwith the same identification information as that of the completed firstprocessing.

With the present concerted processing providing method, the processingsimilar to that executed by the server device of the present inventionis achieved.

The present invention provides a billing surrogating method in a serverdevice for surrogating the billing of the cost of payable contents. Thebilling surrogating method includes the steps of executing the billingprocessing only once for one item of the identification information, onreceipt of a processing request for billing processing for the cost ofthe contents, afforded with the identification information, and oftransmitting a completion notice of the billing processing to the sourceof transmission of the processing request, on completion of the billingprocessing or on re-receipt of the processing request for the billingprocessing afforded with the same identification information as that ofthe completed billing processing.

With this billing surrogating method, the processing similar to thatexecuted by the alternative server device of the present invention isachieved.

The present invention provides a concerted processing method in a clientdevice executing concerted processing with processing by a server deviceconnected to the client device over a network. The concerted processingmethod includes the steps of transmitting a processing request for thefirst processing, afforded with the identification information, to theserver device, executing second processing, correlated in advance withthe first processing, on receipt of a completion notice of the firstprocessing from the server device, and re-transmitting the processingrequest to the server device if a communication error is detected beforereceipt of the completion notice.

With this concerted processing method, the processing similar to thatexecuted by the client device of the present invention is achieved.

The present invention also provides a content validating method in aclient device, adapted for performing the processing of validatinginvalidated contents, in a concerted operation with a server device. Thecontent validating method includes the steps of transmitting aprocessing request for billing processing, afforded with theidentification information, to the server device, validating theinvalidated contents on receipt of a completion notice of the billingprocessing from the server device, and re-transmitting the processingrequest to the server device on detection of a communication errorbefore receipt of the completion notice.

With this content validating method, the processing similar to thatexecuted by the alternative client device of the present invention isachieved.

The present invention also provides a program for allowing to perform aconcerted processing between a first computer and a second computer,interconnected over a network. The program is such a one in which thefirst computer transmits a processing request for a first processing,afforded with the identification information, to the second computer,the second computer on receipt of the processing request executing thefirst processing only once for one item of the identificationinformation, the second computer transmitting a completion notice of thefirst processing to the first computer on completion of the firstprocessing or on re-receipt of the processing request for the firstprocessing afforded with the same identification information as thatconferred to the completed first processing, and in which, on receipt ofthe completion notice from the second computer, the first computerexecutes the second processing correlated in advance with the firstprocessing, the first computer re-transmitting the processing request tothe second computer on detection of a communication error before receiptof the completion notice.

This program is read out and executed by the computer to realize theprocessing executed by the communication system according to the presentinvention.

The present invention also provides a program for a first computer and asecond computer, interconnected over a network, to execute a sequence ofprocessing operations for validating invalidated contents. The programis such a one in which the first computer transmits a processing requestfor billing processing for the cost of the contents, afforded with theidentification information, to the second computer, the second computeron receipt of the processing request executes the billing processingonly once for one item of the identification information, the secondcomputer transmitting a completion notice of the billing processing tothe first computer on completion of the billing processing or onre-receipt of the processing request for the billing processing affordedwith the same identification information as that conferred to thecompleted billing processing, and in which, on receipt of the completionnotice from the second computer, the first computer validatesinvalidated contents, the first computer re-transmitting the processingrequest to the second computer on detection of a communication errorbefore receipt of the completion notice.

This program is read out and executed by the computer to realize theprocessing executed by the alternative communication system according tothe present invention.

The present invention provides a program for allowing to performconcerted processing by a computer with another device connected theretothrough a network. The program is such a one in which the computer onreceipt of a processing request for a first processing, afforded withthe identification information, executes the first processing only oncefor one item of the identification information, and in which thecomputer on completion of the first processing or on re-receipt of theprocessing request for the first processing, afforded with the sameidentification information as that conferred to the completed firstprocessing, transmits a completion notice of the first processing to thesource of transmission of the processing request.

This program is read out and executed by the computer to realize theprocessing executed by the server device according to the presentinvention.

The present invention provides a program for surrogating the billing ofthe cost of a payable content, by a computer. The program is such a onein which the computer on receipt of a processing request for billingprocessing for the cost of the contents, afforded with theidentification information, executes the billing processing only oncefor one item of the identification information, and in which thecomputer on completion of the billing processing or on re-receipt of theprocessing request for the billing processing, afforded with the sameidentification information as that conferred to the completed billingprocessing, transmits a completion notice of the billing processing tothe source of transmission of the processing request.

This program is read out and executed by a computer to realize theprocessing executed by the alternative server device according to thepresent invention.

The present invention also provides a program for allowing to performconcerted processing by a computer with a server device connectedthereto over a network. The program is such a one in which the computertransmits to the server device a processing request for the firstprocessing, afforded with the identification information, and in which,on receipt of a completion notice of the first processing from theserver device, the computer executes second processing correlated inadvance with the first processing, the computer re-transmitting theprocessing request to the server device if a communication error isdetected before receipt of the completion notice.

This program is read out and executed by the computer to realize theprocessing executed by the client device according to the presentinvention.

The present invention also provides a program for allowing to performthe processing by a computer of validating invalidated contents in aconcerted fashion with processing by a server device. The program issuch a one in which the computer transmits a processing request forbilling processing, afforded with the identification information, to theserver device, and in which, on receipt of a completion notice of thebilling processing from the server device, the computer executes theprocessing of validating the invalidated contents; the computerre-transmitting the processing request to the server device if acommunication error is detected before receipt of the completion notice.

This program is read out and executed by the computer to realize theprocessing executed by the alternative client device according to thepresent invention.

The present invention also provides a computer-readable recordingmedium, having recorded thereon a program for allowing to performconcerted processing between a first computer and a second computer,interconnected over a network, the program being such a one in which thefirst computer transmits a processing request for a first processing,afforded with the identification information, to the second computer,the second computer on receipt of the processing request executes thefirst processing only once for one item of the identificationinformation, the second computer transmitting a completion notice of thefirst processing to the first computer on completion of the firstprocessing or on re-receipt of the processing request for the firstprocessing afforded with the same identification information as thatconferred to the completed first processing, the first computer onreceipt of the completion notice from the second computer executing thesecond processing, correlated in advance with the first processing; thefirst computer re-transmitting the processing request to the secondcomputer if a communication error is detected before receipt of thecompletion notice.

This program is read out and executed by the computer to realize theprocessing executed by a communication system according to the presentinvention.

The present invention also provides a computer-readable recording mediumhaving recorded thereon a program for having a first computer and asecond computer, interconnected over a network, execute a sequence ofprocessing operations for validating invalidated contents, the first andsecond computers being interconnected over a network, the program beingsuch a one in which the first computer transmits a processing requestfor a billing processing for the cost of the contents, afforded with theidentification information, to the second computer, the second computeron receipt of the processing request executing the billing processingonly once for one item of the identification information, the secondcomputer transmitting a completion notice of the billing processing tothe first computer on completion of the billing processing or onre-receipt of the processing request for the billing processing affordedwith the same identification information as that conferred to thecompleted billing processing, the first computer on receipt of thecompletion notice from the second computer executing the processing ofvalidating invalidated contents, the first computer re-transmitting theprocessing request to the second computer if a communication error isdetected before receipt of the completion notice.

This program is read out and executed by a computer to realize theprocessing executed by another communication system according to thepresent invention.

The present invention provides a computer-readable recording mediumhaving recorded thereon a program for allowing to perform concertedprocessing by a computer with another device interconnected thereto overa network. The program is such a one in which the computer on receipt ofa processing request for a first processing, afforded with theidentification information, executes the first processing only once forone item of the identification information, and in which the computer oncompletion of the first processing or on re-receipt of the processingrequest for the first processing, afforded with the same identificationinformation as that conferred to the completed first processing,transmits a completion notice of the first processing to the source oftransmission of the processing request.

This program is read out and executed by a computer to realize theprocessing executed by the server device according to the presentinvention.

The present invention provides a computer-readable recording mediumhaving recorded thereon a program for surrogating the billing of thecost of a payable content by a computer, the program being such a one inwhich the computer on receipt of a processing request for billingprocessing for the cost of the payable content, afforded with theidentification information, executes the billing processing only oncefor one item of the identification information, and in which thecomputer on completion of the billing processing or on re-receipt of theprocessing request for the billing processing, afforded with the sameidentification information as that conferred to the completed billingprocessing, transmits a completion notice of the billing processing tothe source of transmission of the processing request.

This program is read out and executed by a computer to realize theprocessing executed by the alternative server device according to thepresent invention.

The present invention also provides a computer-readable recordingmedium, having recorded thereon a program for having a computer performconcerted processing with a server device connected to the computer overa network. The program is such a one in which the computer transmits aprocessing request for a first processing, afforded with theidentification information, to the server device, and in which, onreceipt of a completion notice of the first processing from the serverdevice, the computer executes second processing correlated in advancewith the first processing, the computer re-transmitting the processingrequest to the server device on the condition that a communication erroris detected before receipt of the completion notice.

This program is read out and executed by the computer to realize theprocessing executed by a client device according to the presentinvention.

The present invention also provides a computer-readable recordingmedium, having recorded thereon a program for having a computer performconcerted processing of validating invalidated contents with a serverdevice connected thereto over a network, the program being such a one inwhich the computer transmits a processing request for billingprocessing, afforded with the identification information, to the serverdevice, and in which, on receipt of a completion notice of the billingprocessing from the server device, the computer executes the processingof validating invalidated contents, and the computer re-transmitting theprocessing request to the server device on the condition that acommunication error is detected before receipt of the completion notice.

This program is read out and executed by a computer to realize theprocessing executed by the alternative client device according to thepresent invention.

Other objects, features and advantages of the present invention willbecome more apparent from reading the embodiments of the presentinvention as shown in the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram showing a communication systemaccording to the present invention.

FIG. 2 is a sequence diagram showing an example of processing accordingto the present invention.

FIG. 3 shows an illustrative structure of a network system according tothe present invention.

FIG. 4 is a block diagram showing an illustrative structure of thehardware of an application server.

FIG. 5 is a block diagram showing an illustrative structure of thehardware of a portable telephone set.

FIG. 6 is a block diagram showing an illustrative structure of thehardware of a terminal device.

FIG. 7 is a functional block diagram showing an example of a processingfunction of a content server.

FIG. 8 shows an example of a data structure of a content informationstorage unit.

FIG. 9 is a functional block diagram showing an example of theprocessing function of a billing server.

FIG. 10 shows an example of a data structure of a user informationstorage unit.

FIG. 11 is a block diagram showing an example of the processing functionof an application server.

FIG. 12 shows an example of a data structure of a server side datastorage unit.

FIG. 13 is a functional block diagram showing an example of theprocessing function of a portable telephone set.

FIG. 14 shows an example of a data structure of the content storageunit.

FIG. 15 shows an example of a data structure of a validation informationstorage unit.

FIG. 16 is a sequence diagram for transactions at the time of validatingthe content by a portable telephone set.

FIG. 17 is a flowchart showing the processing sequence of an applicationserver.

FIGS. 18 and 19 are flowcharts showing the processing sequence of aportable telephone set.

FIG. 20 is a sequence diagram for transactions at the time of validatingthe content by a terminal device.

FIG. 21 is a sequence diagram for transactions at the time of validatingthe content in a second embodiment of the present invention.

FIG. 22 is a block diagram showing the processing function of anapplication server in a third embodiment of the present invention.

FIG. 23 is a block diagram showing the processing function of a portabletelephone set in the third embodiment of the present invention.

FIG. 24 is a sequence diagram for transactions at the time of validatingthe content in the third embodiment of the present invention.

DETAILED DESCRIPTION

Referring to the drawings, certain preferred embodiments of the presentinvention will be explained in detail.

In a communication system according to the present invention,information processing is executed in a concerted fashion between aserver device 1 and a client device 2, interconnected over a network 6.

The server device 1 includes first process executing means 1 a, acompletion notice transmitting means 1 b and a storage means 1 c. Onreceipt of a processing request 4 for the first process, havingidentification information 3 assigned thereto, the first processexecuting means 1 a executes the first process only once for oneidentification information. Meanwhile, the first process executing means1 a verifies whether or not the first process for the identificationinformation 3 was completed in the past depending on whether or not thereceived processing request 4 has been stored in the storage means 1 c.

When the first process in the first process executing means 1 a isfinished, or when a process request 4 for the first processing, affordedwith the same identification information 3 as that assigned to thecompleted first process, is re-received, the completion noticetransmitting means 1 b transmits a completion notice 5 of the firstprocess to the client device 2. Meanwhile, the completion noticetransmitting means 1 b verifies whether or not the first process for theidentification information 3 was completed in the past, depending onwhether or not the received processing request 4 has been stored in thestorage means 1 c.

On completion of the first process in the first process executing means1 a, the storage means 1 c stores the processing request 4 for the firstprocess, having the identification information 3 assigned thereto, asprocess completion information.

The client device 2 includes a process request transmitting means 2 a, asecond process executing means 2 b and a re-transmitting means 2 c.

The processing request transmitting means 2 a transmits the processingrequest 4 for the first process, having the identification information 3assigned thereto, to the server device 1.

On receipt of the completion notice 5 of the first process from theserver device 1, the second process executing means 2 b executes thesecond process, correlated in advance with the first process. If acommunication error has been detected before receipt of the completionnotice 5 for the processing request 4 transmitted by the processingrequest transmitting means 2 a, the re-transmitting means 2 cre-transmits to the server device 1 the processing request 4 having theidentification information 3 assigned thereto. It is when an error hasbeen accepted by a lower network layer or a reply awaiting state hascontinued for longer than a predetermined time period that thecommunication error is detected.

This above-described communication system executes the followingprocess:

FIG. 2 is a sequence diagram showing a typical process in accordancewith the present invention. The illustrative process, shown in FIG. 2,shows an embodiment in which transient communication malfunctions haveoccurred after execution of the first process by the server device 1.

First, the processing request transmitting means 2 a of the clientdevice 2 transmits a processing request 4 for the first process havingthe identification information 3 assigned thereto, to the server device1 (step S1). The first process executing means 1 a and the completionnotice transmitting means 1 b of the server device 1 then verify at stepS2 whether or not the process complying with the processing request 4for the first process, having the same identification information 3assigned thereto, has already been completed (completion ornon-completion). The completion or non-completion may be verified bywhether or not the process completion information, comprised of a set ofthe identification information 3 and the processing request 4, has beenstored in the storage means 1 c. Since the processing request is thefirst processing request 4 at this time, no process completioninformation for the same content has been stored in the storage means 1c. Thus, it is verified that the relevant process has not beencompleted, and the first process is executed by the first processexecuting means 1 a (step S3).

When the first process has been executed, the process completioninformation, comprised of the processing request 4 having theidentification information 3 assigned thereto (set of the identificationinformation 3 and the processing request 4) is stored in the storagemeans 1 c (step S4). The completion notice transmitting means 1 btransmits a completion notice 5 to the client device 2 (step S5).

In the present embodiment, the completion notice 5, transmitted at stepS5, is not delivered to the client device 2 due to communicationmalfunction. Thus, an error is detected by the re-transmitting means 2 cof the client device 2 (step S6). If an error is detected, theprocessing request 4, having the identification information 3 assignedthereto, is re-transmitted by the re-transmitting means 2 c to theserver device 1 (step S7).

On receipt of the processing request 4, having the identificationinformation 3 assigned thereto, the server device 1 at step S8references the stored contents of the storage means 1 c, by the firstprocess executing means 1 a and the completion notice transmitting means1 b, to verify whether or not the processing responsive to theprocessing request 4, having the same identification information 3assigned thereto, has already been completed (completion ornon-completion). Since the process completion information for the samecontent has been stored at this time point in the storage means 1 c, theprocessing responsive to the processing request 4, having theidentification information 3 assigned thereto, is deemed to have come toa close. If the processing is deemed to have come to a close, thecompletion notice 5 is transmitted to the client device 2 by thecompletion notice transmitting means 1 b (step S9).

On receipt of the completion notice 5, the second process executingmeans 2 b of the client device 2 executes a second process relevant tothe first process (step S10).

Thus, if communication has been interrupted due to a networkmalfunction, execution of one first process and one second process isguaranteed. If this processing is applied to content validation,execution of one billing process of the content cost by the serverdevice 1 and one process of content validation by the client device 2 isguaranteed. This prevents unforeseen disadvantages otherwise incurred tothe content provider or to the user who purchased the content. That is,there is no risk of the content not being validated despite payment ofthe cost or of the content being validated without cost payment.Additionally, application to the locker service or grouping service ofthe content is possible.

Meanwhile, the identification information 3 added to the processingrequest 4 is unique information in the server device 1. Thus, in thefollowing embodiment, a transaction ID (TID) may be issued as theidentification information 3 from the server device 1 to the clientdevice 2.

It is also possible for the client device 2 to store the TID and theprocessing request 4, transmitted to the server device 1, and to erasethe stored TID and processing request 4 on termination of the secondprocess. This prohibits the TID from being used illicitly for otherobjects after a transaction has regularly come to a close, that is,after the termination of the first process and the second process.Additionally, the storage area of the client device 2 is usedeffectively.

As the client device 2, terminal devices, such as personal computers,portable information terminal devices or mobile communication devices,such as portable telephone sets, may be used.

In the following, certain preferred embodiments of the presentinvention, in which the present invention is applied to the sale ofcontent, such as music data, over the Internet, are explained.

FIRST EMBODIMENT

A first embodiment of the present invention is now explained.

The network system embodying the present invention is configured asshown in FIG. 3. In the network system, shown in FIG. 3, an applicationserver 100, a content server 310, a billing server 320, an accessingserver 330 and a terminal device 400 are connected to the Internet 21.To a public network 22, a portable telephone set 200, the billing server320 and the accessing server 330 are connected over a base station 23.

The base station 23 transmits/receives speech or data, over a radioroute, with the portable telephone set 200 and with other portabletelephone sets within a preset area, not shown.

The application server 100 performs the process of validating payablecontent provided from the content server 310 to the general public, suchas music data, picture data or application programs for computers, incooperation with portable telephone sets 200 or terminal devices 400.

The portable telephone set 200 is able to communicate with otherportable telephone sets, not shown, via the base station 23. Theportable telephone set 200 is able to access various servers on theInternet 21, such as application server 100 or content server 310, toperform concerted processing, browse the information or downloadcontent.

The content server 310 has stored therein payable content provided tousers of the terminal device 400 or the portable telephone set 200. Thecontent server 310 is responsive to requests from the terminal device400 or the portable telephone set 200 to transmit content to theterminal device 400 or the portable telephone set 200.

The billing server 320 supervises the information, such as call timeduration of the portable telephone set 200, and performs the process ofcollecting fees, such as charges for a call for the portable telephoneset 200. The billing server 320 is responsive to the request from theapplication server 100 to collect the fee for the content downloaded tothe portable telephone set 200.

The accessing server 330 performs the process of connecting the portabletelephone set 200 as being a device on the Internet 21. For example, theaccessing server 330 performs the process of allocating IP (InternetProtocol) addresses to the portable telephone set 200.

The terminal device 400 accesses various servers, such as theapplication server 100 or the content server 310, over the Internet 21,to perform concerted processing, browse the information or downloadcontent.

In the above-described network system, the content supervised by thecontent server 310 may be downloaded to the portable telephone set 200or to the terminal device 400 to validate the content.

Referring to FIGS. 4 to 6, the hardware structure of the various devicesis explained.

FIG. 4 is a block diagram showing an illustrative hardware structure ofthe application server. The application server 100 in its entirety iscontrolled by a CPU (Central Processing Unit) 101. A RAM (Random AccessMemory) 102, an HDD (Hard Disc Drive) 103, a graphics processing device104, an input interface 105 and a communication interface 106 areconnected to the CPU 101 through a bus 107.

At least a portion of the OS (Operating System) program or a portion ofthe application program run by the CPU 101 is transiently stored in theRAM 102. The RAM 102 also stores various data necessary for processingby the CPU 101. In the HDD 103 is stored the OS or the applicationprogram.

A monitor 11 is connected to the graphics processing device 104. Thegraphics processing device 104 causes a picture to be displayed on ascreen of the monitor 11 under instructions from the CPU 101.

To the input interface 105 are connected a keyboard 12 and a mouse 13.The input interface 105 transmits signals sent from the keyboard 12 orthe mouse 13 over bus 107 to the CPU 101.

The communication interface 106 is connected to the Internet 21. Thecommunication interface 106 transmits/receives data with other computersover the Internet 21.

The processing functions of the present embodiment may be implemented bythe above-described hardware structure.

Although the hardware structure of the application server 100 has beendescribed and shown in FIG. 4, the content server 310, billing server320 and the accessing server 330 may be implemented by a structuresimilar to the hardware structure shown in FIG. 4.

FIG. 5 is a block diagram showing an illustrative structure of thehardware of a portable telephone set. A portable telephone set 200includes a main controller 201 controlling the overall functions of theportable telephone set 200. A power supply circuit 202, an operatinginput controller 203, a display controller 204, a demultiplexer 205, arecording and/or reproducing unit 206, a modem 207, a speech codec 208,an image decoder 209 and a tamper resistant module 220 are connected tothe main controller 201 through a bus 210.

The main controller 201 includes a CPU, RAM, etc., mounted thereon, andoperates itself as a computer.

When an operating input for power up is entered by a user, the powersupply circuit 202 sends the power from a battery pack, not shown, torespective circuits. By the power being supplied from the battery packto the respective circuits of the portable telephone set 200, thefunctions of the various elements shown in FIG. 5 may be achieved.

To the operating input controller 203 are connected an operating key 211and a dial 212. The operating input controller 203 transmits theoperating contents of the operating key 211 and the dial 212 over bus210 to the main controller 201.

To the display controller 204 is connected a liquid crystal display 213.This display controller 204 generates a display picture in accordancewith information or commands sent from the main controller 201 todisplay the generated display picture on the display 213.

On receipt of speech data and picture data, the demultiplexer 205demultiplexes data received in accordance with a preset system and sendsthe resulting data to the modem 207. When supplied with multiplexed datafrom the modem 207, the demultiplexer 205 separates the multiplexeddata. For example, the demultiplexer 205 separates the multiplexed datainto coded picture data and into speech data. The demultiplexer 205delivers the separated picture data to the recording and/or reproducingunit 206 or to the image decoder 209. The demultiplexer 205 alsodelivers the separated speech data to the speech codec 208.

To the recording and/or reproducing unit 206 can be connected asemiconductor memory 214. The recording and/or reproducing unit 206records data on the semiconductor memory 214 or reads out data recordedon the semiconductor memory 214 under instructions from the maincontroller 201.

To the modem 207 is connected a transmission/reception circuit 215. Themodem 207 performs spread spectrum processing on the multiplexed datasent from the demultiplexer 205 and sends the processed data to thetransmission/reception circuit 215. On receipt of reception signals fromthe transmission/reception circuit 215, the modem 207 performs spreadspectrum processing on the received signals and sends the processedsignals to the demultiplexer 205.

An antenna 216 is connected to the transmission/reception circuit 215.The transmission/reception circuit 215 transmits the signals, sentthereto from the modem 207, over antenna 216 to the base station 23. Thetransmission/reception circuit 215 receives signals transmitted from thebase station 23 over antenna 216 and sends the received signals to themodem 207.

To the speech codec 208 are connected a microphone 217 and a loudspeaker218. On receipt of speech data from the demultiplexer 205, the speechcodec 208 converts the speech data into analog signals which aresupplied to the loudspeaker 218. When supplied with analog speechsignals from the microphone 217, the speech codec 208 converts thespeech signals into digital speech data which is then delivered to thedemultiplexer 205.

On receipt of encoded picture data, the image decoder 209 decodes thepicture data in accordance with a decoding system associated with thepreset encoding system. The image decoder 209 sends the decoded picturedata to the display controller 204.

The tamper resistant module 220 has an illicitness combating function.The illicitness combating function may, for example, be the function oferasing inner data in case an attempt is made to illicitly read out datain the tamper resistant module 220.

The tamper resistant module 220 uniquely has the function of a computer,such as a CPU or a RAM, and executes various data processing operationsin accordance with commands from the main controller 201. For example,the tamper resistant module 220 stores data to be concealed from theuser of the portable telephone set 200 (such as transaction ID: TID) inits inner RAM. The tamper resistant module 220 also proceeds to validatecontent stored in the semiconductor memory 214. By the tamper resistantmodule 220 performing the validating process, the algorithm for thecontent validating process may be kept in a state concealed from theuser of the portable telephone set 200.

FIG. 6 is a block diagram showing an illustrative structure of thehardware of a terminal device. The terminal device 400 is controlled inits entirety by a CPU 401. To this CPU 401 are connected, over bus 410,a RAM 402, a hard disc drive (HDD) 403, a graphics processing device404, an input interface 405, a communication interface 406, a memoryrecording and/or reproducing unit 407, a disc drive 408 and a tamperresistant module 409.

A monitor 11 a is connected to the graphics processing device 404. Akeyboard 12 a and a mouse 13 a are connected to the input interface 405.

Since the functions of the RAM 402, hard disc drive (HDD) 403, graphicsprocessing device 404, input interface 405, communication interface 406,monitor 11 a, keyboard 12 a and mouse 13 a are the same as those of thecomponents of the application server 100 shown in FIG. 4, bearing thesame appellations, these components are not explained here specifically.

A semiconductor memory 14 may be connected to the memory recordingand/or reproducing unit 407. The memory recording and/or reproducingunit 407 is able to write data in the semiconductor memory 14 or readout data recorded thereon in accordance with commands from the CPU 401.

The disc drive 408, on or from which an optical disc 15 can be mountedor dismounted, is able to record data on the optical disc 15 or read outdata recorded thereon in accordance with commands from the CPU 401. Theoptical disc 15 may, for example, be a DVD (Digital Versatile Disc), aDVD-RAM (Digital Versatile Disc-Random Access Memory), a CD-ROM (CompactDisc Read Only Memory) or a CD-R (Compact Disc-Recordable)/RW(Rewritable).

The tamper resistant module 409 uniquely has the function of a computer,such as a CPU or a RAM, and executes various data processing operationsin accordance with commands from the CPU 401. For example, the tamperresistant module 409 stores data to be concealed from the user of theterminal device 400 (such as transaction ID: TID) in its inner RAM. Thetamper resistant module 409 also proceeds to validate content. By thetamper resistant module 409 performing the validating process, thealgorithm for the content validating process may be kept in a stateconcealed from the user of the terminal device 400. The tamper resistantmodule 409 may also be implemented as software on the RAM 402 or on theHDD 403.

Referring to FIGS. 7 to 15, the processing functions and the datastructure in the content server 310, billing server 320, applicationserver 100 and portable telephone set 200, as required for realizing thepresent embodiment, are explained.

FIG. 7 is a functional block diagram showing an example of theprocessing functions of the content server. The content server 310includes a content information storage unit 311, a communicationprocessing unit 312, a content providing unit 313 and a pricenotification unit 314.

The content information storage unit 311 has stored therein the payablecontent supplied over the Internet 21, the identification informationfor the content (content ID), etc. The data structure of the contentinformation storage unit 311 will be explained subsequently.

The communication processing unit 312 exchanges data with other devicesover the Internet 21.

The content providing unit 313 is responsive to a request from theportable telephone set 200 or the terminal device 400 to transmit data,such as content or content decoding keys thereof.

The price notification unit 314 is responsive to a request from theapplication server 100 to notify the price of the content.

FIG. 8 shows an example of a data structure of the content informationstorage unit. In the example of FIG. 8, the content information storageunit 311 has columns for content ID, content data, decoding keys andprice. The information for each item lying in the same row (thehorizontally arrayed information in the drawing) are correlated witheach other.

In the item of the content ID, there are registered unique identifiers(content IDs) by which the content stored in the content server 310 canbe identified.

In the item of the content data are registered the contents. Thecontents registered in the item of the content data are encrypted.

In the item of the decoding keys, there are registered decoding keys forthe contents registered in the item of the content data.

In the item of the price, there are registered the prices of thecontents registered in the item of the content data.

FIG. 9 shows a functional block diagram showing an example of theprocessing function of the billing server. The billing server 320includes a user information storage unit 321, a communication processingunit 322, an IP address acquisition unit 323 and a bill processing unit324.

The user information storage unit 321 has stored therein the informationon the user who is under a use contract for a portable telephone set.The contents of the user information storage unit 321 will be explainedsubsequently.

The communication processing unit 322 conducts data communication overthe Internet 21 or the public network 22.

The IP address acquisition unit 323 periodically transmits a request forIP address information to the accessing server 330, and acquires the IPaddress allocated to each portable telephone set from the accessingserver 330. The IP address acquisition unit 323 registers the acquiredIP address of each portable telephone set in the user informationstorage unit 321.

The bill processing unit 324 is responsive to a request from theapplication server 100 to bill the user's account for the cost of thecontent.

FIG. 10 shows an example of a data structure of the user informationstorage unit. In the example of FIG. 10, the user information storageunit 321 includes the items of user ID, telephone numbers, user names,account numbers and IP addresses. The information of each column lyingin the same row for each item in the user information storage unit 321(the horizontally arrayed information in the drawing) are correlatedwith each other.

In the item of the user ID, there is stored the identificationinformation by which the user who is under a use contract for a portabletelephone set can be identified.

In the item of the user telephone number, there is registered thetelephone number of the portable telephone set which the user is using.

In the item of the user name, there is registered the name of the user.

In the item of the account number, there is registered information onthe account for automatic direct debit of the usage rate for theportable telephone set. For example, the registered information mayinclude the name of a bank or its branch office where the account fordirect debit is located. The type of account (savings account or currentaccount) or the account number.

In the item of the IP address, there is registered the IP addressallocated to the user's portable telephone set. The IP address isincidentally updated by an IP address acquisition unit 323.

FIG. 11 is a block diagram showing a typical processing function of theapplication server. The application server 100 includes a server sidedata storage unit 111, a communication processing unit 112, a servermanagement unit 113, a TID issuing unit 114, and a server processingunit 115.

The server side data storage unit 111 has stored therein managementinformation for each issued transaction ID. The server side data storageunit 111 will be explained in detail subsequently.

The communication processing unit 112 performs communication over theInternet 21. For example, the communication processing unit 112 receivesa message from the portable telephone set 200 or from the terminaldevice 400 and delivers the message to the server management unit 113.The communication processing unit 112 also transmits messages receivedfrom the server management unit 113 to the portable telephone set 200 orto the terminal device 400.

Through the communication processing unit 112, the server managementunit 113 exchanges messages with the portable telephone set 200 or withthe terminal device 400 and executes processing corresponding to themessage. For example, on receipt from the portable telephone set 200 ofa message including a request for issuance of a TID, the servermanagement unit 113 requests that the TID issuing unit 114 issue theTID. On issuance of a new TID by the TID issuing unit 114, the servermanagement unit 113 transmits the issued TID to the portable telephoneset 200. The server management unit 113 also supervises data of theserver side data storage unit 111.

The TID issuing unit 114 is responsive to the request from the servermanagement unit 113 to issue a unique TID (for example, a sequentialnumber). The TID issuing unit 114 delivers the issued TID to the servermanagement unit 113.

The server processing unit 115 executes processing in accordance with arequest from the server management unit 113 and returns the processingresult to the server management unit 113. For example, on receipt of arequest to bill a particular user for purchase of certain content fromthe server management unit 113, the server processing unit 115 transmitsa message to request billing to the billing server 320 through thecommunication processing unit 112. On receipt of the results of thebilling process from the billing server 320, the server processing unit115 advises the server management unit 113 of the results of the billingprocess.

FIG. 12 shows a typical data structure of the server side data storageunit. In the example of FIG. 12, the server side data storage unit 111includes the items of TID, processing requests, and unprocessed billingflags. It is noted that data of the same rows of the respective items ofthe server side data storage unit 111 (data arrayed horizontally in thedrawing) are correlated with one another.

In the item of the TID, there are arrayed TIDs, conferred to theprocessing request and sent in this state to the application server 100.

In the item of the processing request, there is arrayed the processingrequest sent with the TID.

In the item of the unprocessed billing flag, there is set a flagindicating whether or not the process of billing has come to a close(unprocessed billing flags). If, for example, the unprocessed billingflag is 1, it indicates that the process of billing has not come to aclose. If the unprocessed billing flag is 0, it indicates that theprocess of billing has come to a close. That is, when the unprocessedbilling flag is set to 0, the set of the TID and the processing requesthas the meaning as process completion information, that is, informationthat the process pertinent to the processing request has come to aclose.

FIG. 13 shows a functional block diagram showing an illustrative exampleof the processing function of a portable telephone set. The portabletelephone set 200 includes a content storage unit 231, a validationinformation storage unit 232, a communication processing unit 233, auser request inputting unit 234, a validation management unit 235 and avalidation processing unit 236. The functions of the validationinformation storage unit 232, validation management unit 235 andvalidation processing unit 236 are those implemented within the tamperresistant module 220.

The content storage unit 231 is, for example, at least a portion of thestorage area of the semiconductor memory 214. The content storage unit231 stores the content downloaded from the content server 310.

The validation information storage unit 232 stores sets of the TIDs andthe processing requests.

The communication processing unit 233 communicates with devices on theInternet 21 via the accessing server 330.

The user request inputting unit 234 accepts operating inputs from theoperating key 211 or dial 212 and delivers a request corresponding tothe operating input to the validation management unit 235.

The validation management unit 235 exchanges messages with theapplication server 100 through the communication processing unit 233 toperform the processes corresponding to the messages. The validationmanagement unit 235 is also responsive to a request from the userrequest inputting unit 234 to generate processing requests. Thegenerated processing requests may, for example, be a content downloadingrequest, a TID acquisition request or a bill processing request. Thevalidation management unit 235 transmits the messages including thegenerated processing requests over the communication processing unit 233to the application server 100 and to the content server 310. Meanwhile,the TID is added to the message requesting bill processing.

On the other hand, the validation management unit 235 executes presetprocesses based on data or information sent from the application server100 and from the content server 310. For example, the validationmanagement unit 235 stores data, such as content downloaded from thecontent server 310, in the content storage unit. When a messagerequesting bill processing and having a TID added thereto is sent to theapplication server 100, the validation management unit 235 stores thecombination of the TID and the processing request message in thevalidation information storage unit 232. On receipt of a completionnotice regarding the bill processing from the application server 100,the validation management unit 235 deletes the corresponding informationfrom the validation information storage unit 232, while instructing thevalidation processing unit 236 to execute the process for validation.

The validation processing unit 236 validates the content stored in thecontent storage unit 231 under instructions from the validationmanagement unit 235. For example, the validation processing unit 236decodes encrypted content. On the other hand, a terminal having acopyright protecting function executes the process of validating thecontent key in the system.

FIG. 14 shows an illustrative data structure of the content storageunit. In the structure of FIG. 14, the content storage unit 231 includesthe items of content ID, content data and decoding keys. The informationin the same row for each item of the content storage unit 231(horizontally arrayed information in the drawing) are correlated withone another.

In the content ID item, the content IDs of the content downloaded to theportable telephone set 200 are stored.

In the content data item, the main data of the content downloaded to theportable telephone set 200 are stored.

The decoding key item, the decoding keys of the content downloaded tothe portable telephone set 200 are stored.

FIG. 15 shows an illustrative data structure of the validationinformation storage unit. In the structure of FIG. 15, the validationinformation storage unit 232 includes the TIDs and the processingrequests. The information in the same row for each item of thevalidation information storage unit 232 (the horizontally arrayedinformation in the drawing) are correlated with one another.

In the TID item, there are stored the TIDs issued from the applicationserver 100 to the portable telephone set 200.

In the item of the processing requests, the processing requests havingthe TIDs added thereto and transmitted in this form to the applicationserver 100, are stored in association with the TIDs thus added thereto.

Meanwhile, the processing function of the terminal device 400 is thesame as that shown in FIG. 13 for the portable telephone set 200.

Taking the example of validating the content in the portable telephoneset 200, the processing in a preferred embodiment of the presentinvention is explained.

FIG. 16 shows a sequence diagram of a transaction to validate thecontent in a portable telephone set. FIG. 16 shows a transaction for anormal system where no malfunction is occurring. Content server 310,billing server 320 and the application server 100 are operating at alltimes. The specified processing in the application server 100 and in theportable telephone set 200 will be explained with reference to theflowcharts of FIGS. 17 to 19.

First, on power up, the portable telephone set 200 is responsive to theuser's operating input to transmit the content acquisition request tothe content server 310 (step S11).

The content server 310 responds to the content acquisition request fromthe portable telephone set 200 by downloading the specified content tothe portable telephone set 200 (step S12). The downloaded contentincludes the content ID and the decoding key for the content.

Specifically, the content providing unit 313 of the content server 310acquires the content specified by the content acquisition request, thecontent ID of the content and the decoding key from the contentinformation storage unit 311. The content providing unit 313 transmits acombination of the content, the content ID and the decoding key to theportable telephone set 200. The validation management unit 235 of theportable telephone set 200 receives the combination of the content, thecontent ID and the decoding key and stores this information in thecontent storage unit 231.

On acquisition of the content, the portable telephone set 200 isresponsive to the user's operating input to transmit a TID request tothe application server 100 (step. S13). Meanwhile, the user's operationinput may be eliminated, so that the TID request may be transmittedafter content acquisition. On receipt of the TID request message fromthe portable telephone set 200, the application server 100 generates theTID (step S14). The application server 100 returns the TID to theportable telephone set 200 (step S15). The portable telephone set 200saves the TID sent from the application server 100 (step S16).

The portable telephone set 200 is responsive to the user's operatinginput to generate and save a processing request message (step S17). Theuser's operation input may be eliminated, so that the processing requestmessage may immediately be generated and saved after step S16. Theportable telephone set 200 sends the processing request message, havingthe TID added thereto, to the application server 100 (step S18).

On receipt of the processing request message, having the TID addedthereto, the application 100 serves checks whether or not a processingrequest having the same TID has already been saved (step S19). If therelevant processing request has not been saved, the application server100 saves the TID and the processing request message (step S20). For thecombination of the TID and the processing request message thus saved,the application server 100 sets the unbilled flag to 1 (step S21).

The application server 100 specifies the content ID and inquires of thecontent server 310 as to the price of the content (step S22). On receiptof the inquiry from the application server 100, the content server 310returns the price of the content (step S23). Specifically, the contentproviding unit 313 references the content information storage unit 311to acquire the price associated with the content ID specified in theprice inquiry. The content providing unit 313 transmits the acquiredprice to the application server 100.

The application server 100 specifies the IP address of the portabletelephone set 200 and transmits a bill processing request for the pricesent from the content server 310 to the billing server 320 (step S24).

The billing server 320 executes the process of billing responsive to therequest for bill processing from the application server 100, andtransmits the processing results to the application server 100 (stepS25). Specifically, the bill processing unit 324 references the userinformation storage unit 321 to determine the user to be billed based onthe IP address specified in the request for billing process from theapplication server 100. Based on the account number of the user to bebilled, the bill processing unit 324 accesses the server of a financialorganization supervising the account (not shown) to request the serverto directly debit the amount equivalent to the price of the content fromthe account of the user to be billed. It is also possible for the costof the content directly debited to be automatically transferred to theaccount of the supervisor of the content server 310.

It is also possible to add the cost of the content to the usage rate ofthe portable telephone set to directly debit the cost of the content atthe time of direct debiting of the usage rate for the portable telephoneset, without immediately proceeding to direct debiting from the account.In this case, the bill processing is deemed to be completed when theprocess of summing the cost of the content to the usage rate of theportable telephone set is completed.

The results of the direct debiting process are notified from the serverof the financial organization to the billing server 320. For example, acompletion notice of direct debiting or a failure notice of directdebiting is sent to the billing server 320. The bill processing unit 324of the billing server 320 notifies the results of the direct debitingprocess as being the result of the billing process to the applicationserver 100 (step S25).

On receipt of the notice indicating the completion of the directdebiting, the application server 100 resets the unbilled flag, that is,sets the unbilled flag to zero (step S26). The application server 100transmits a process completion notice to the portable telephone set 200(step S27).

On receipt of the process completion notice, the portable telephone set200 executes the process of validating the content, for example,decoding (step S28). The validated content is now usable freely in theportable telephone set 200. For example, if the content is music data,the music data can be reproduced using the portable telephone set 200.Finally, the portable telephone set 200 erases the combination of theTID and the processing request message (step S29). Finally, the set ofthe TID and the processing request message is erased to provide foreffective utilization of the storage area as well as to prevent illicituse of the TID.

Content concealed by, e.g., encryption, may be downloaded to theportable telephone set 200 and, subject to payment of the cost of thecontent, the content may be validated in the manner described above.Moreover, in the present embodiment, the TID is assigned to theprocessing request for billing the cost of the contents, with the TIDthen being saved in the application server 100. Thus, even if thebilling process has been executed but the completion notice has not beensent to the portable telephone set 200 due to a network malfunction,etc., the completion notice can be positively received byre-transmitting the processing request message along with the TID to theapplication server 100.

By referring to the flowchart, the processing by the application server100 and the portable telephone set 200, which takes account of thepossible occurrence of network malfunctions, is now explained.

FIG. 17 is a flowchart showing the processing sequence of theapplication server. The processing sequence shown in FIG. 17 isexplained in the order of increasing step numbers.

In step S111, the server management unit 113 receives a TID request fromthe portable telephone set 200.

In step S112, the server management unit 113, which has received the TIDrequest, issues a request to the TID issuing unit 114 to send a TID. TheTID issuing unit 114 generates a unique TID in the application server100 and delivers the generated TID to the server management unit 113.

In step S113, the server management unit 113 returns the TID, receivedfrom the TID issuing unit 114, as reply data to the portable telephoneset 200.

In step S114, the server management unit 113 receives a processingrequest message, with the TID added thereto, from the portable telephoneset 200.

It is noted that the content ID and the IP address of the source oftransmission are contained in the processing request message.Consequently, the server management unit 113 is able to specify theportable telephone set 200 as the source of transmission by the IPaddress.

In step S115, the server management unit 113 checks whether or not theprocessing request message associated with the TID, which is the same asthat of the TID assigned to the processing request message received atstep S114, has been stored in the server side data storage unit 111.When the processing request message of the same TID is stored in theserver side data storage unit 111, it indicates that the same processingrequest was received in the past. So, the process transfers to stepS126. When the processing request message of the same TID is not storedin the server side data storage unit 111, it indicates that theprocessing request is a new one. Thus, the processing transfers to stepS116.

In step S116, the server management unit 113 stores the combination ofthe TID and the processing request message in the server side datastorage unit 111.

In step S117, the server management unit 113 sets an unbilled flagcorresponding to the combination of the TID and the processing requestmessage stored at step S116. For example, the server management unit 113sets the unbilled flag to 1.

In step S118, the server management unit 113 specifies the content ID,contained in the processing request message, and inquires as to theprice of the content from the content server 310.

In step S119, the server management unit 113 receives the price from thecontent server 310.

In step S120, the server management unit 113 requests the serverprocessing unit 115 to execute bill processing. The server processingunit 115 is responsive to the request from the server management unit113 and sends a request for bill processing to the billing server 320.Meanwhile, the cost of the content and the IP address of the portabletelephone set 200 are contained in the request for bill processing.

In step S121, the server management unit 113 receives the results ofbill processing from the billing server 320.

In step S122, the server management unit 113 checks whether the billinghas been finished with success. If a completion notice of directdebiting has been received from the billing server 320, the servermanagement unit 113 verifies that the billing has been finished withsuccess, whereas, if a failure notice in direct debiting has beenreceived from the billing server 320, the server management unit 113verifies that the billing has not been finished with success. If thebilling has been finished with success, processing transfers to stepS124, whereas, if the billing has not been finished with success,processing transfers to step S123.

In step S123, the server management unit 113 sends a notice of processcompletion with non-allowance to the portable telephone set 200 toterminate the process.

In step S124, the server management unit 113 resets the unbilled flagcorresponding to the TID received at step S114. For example, the servermanagement unit 113 sets the value of the unbilled flag to zero.

In step S125, he server management unit 113 send a notice of processcompletion with allowance of content validation to the portabletelephone set 200 to terminate the process.

In step S126, on receipt of a combination of a processing requestmessage and a TID which have already been stored, the server managementunit 113 verifies whether the billing for the combination of the TID andthe processing request message has been finished. This can be verifiedby referring to the unbilled flag. If the unbilled flag has been set(the value of the unbilled flag being 1), the billing has not beenfinished, whereas, if the unbilled flag has not been set (the value ofthe unbilled flag being 0), the billing has been finished.

If the billing has been finished, processing transfers to step S125 andthe notice of the process completion with allowance of the contentvalidation is transmitted to the portable telephone set 200 (step S125).Thus, if the billing has been finished, the notice of process completionis transmitted without repetitive execution of the bill processing. Ifthe billing has not been finished, processing transfers to step S127.

In step S127, the server management unit 113 verifies whether thebilling process is progressing. That is, the server management unit 113verifies whether the results of bill processing for the bill processingrequest corresponding to the processing request indicated by the TID hasbeen received from the billing server 320. If the billing process isunderway, there is no need to output bill processing requests repeatedlyso that processing is terminated. If the billing has not been made, withthe billing process not being underway, processing transfers to stepS118 to execute the processing pertinent to the request for billprocessing.

By so doing, there is no risk of duplex billing even if bill processingresponsive to the processing request message has been time-consumingsuch that the processing request message with the same TID isre-transmitted before completion of the billing process.

FIG. 18 shows a first portion of a flowchart showing the processingsequence of a portable telephone set. The following is an explanation ofthe process shown in FIG. 18, in order of increasing step numbers.

In step S131, when the power supply of the portable telephone set 200 isturned on by a user, the user request inputting unit 234 accepts anoperating input from the user instructing that content be downloaded.When an operating input is made instructing that contact be downloaded,the user request inputting unit 234 delivers the content downloadingrequest to the validation management unit 235.

In step S132, the validation management unit 235 is responsive to therequest from the user request inputting unit 234 and transmits a requestfor content acquisition to the content server 310. It is noted that therequest for content acquisition may be transmitted after step S131.

In step S133, the validation management unit 235 downloads the contentfrom the content server 310 for storage in the content storage unit 231.

In step S134, the validation management unit 235 verifies whether thedownloading of the content (combination of the content, content ID anddecoding key) has come to a close. Whether the downloading has come to aclose can be verified based on whether the content size as informed inadvance from the content server 310 coincides with the size of the datastored in the content storage unit 231.

When the downloading has come to a close, the process transfers to stepS135. When the downloading has not come to a close, the processing ofstep S134 is repeated to set a standby state until completion of thedownloading. It is also possible to omit the processing of step S135 andtransmit the TID request of step S136.

In step S135, the user request inputting unit 234 accepts the operatinginput of instructions for content purchase from the user. If theoperating input for purchase is made, the user request inputting unit234 delivers a content purchase request to the validation managementunit 235.

In step S136, the validation management unit 235 is responsive to therequest from the user request inputting unit 234 and sends a TID requestto the application server 100.

In step S137, the validation management unit 235 verifies whether acommunication error has occurred before receipt of a reply from the TIDrequest. For example, if no reply to the TID request is returned withina preset time, the validation management unit 235 verifies the situationto be ascribable to a communication error. If a communication error hasoccurred, the process transfers to step S138 and, if otherwise, theprocess transfers to step S139.

In step S138, the validation management unit 235 verifies whether apreset retry limit number of times for the TID request has beenexceeded. If the retry limit number of times for the TID request hasbeen exceeded, processing is terminated, whereas if the retry limitnumber of times for the TID request has not been exceeded, processingtransfers to step S136 to re-transmit the TID request.

In step S139, the validation management unit 235 verifies whether a TIDreply has been received. If a TID reply has not been received, theprocess transfers to step S137. The validation management unit 235 thenis in a standby state for a TID reply until a communication erroroccurs. If a TID reply has been received, processing transfers to stepS140 shown in FIG. 19.

FIG. 19 shows a second portion of the flowchart showing the processingsequence of the portable telephone set. The following is an explanationof the process shown in FIG. 19, in order of increasing step numbers.

In step S140, the validation management unit 235 stores the TID sentfrom the application server 100 in the validation information storageunit 232.

In step S141, the validation management unit 235 generates a processingrequest message for bill processing for the content purchase cost andstores the generated message in the validation information storage unit232 in association with the TID stored at step S140.

In step S142, the validation management unit 235 transmits a combinationof the TID and the processing request message to the application server100.

In step S143, the validation management unit 235 verifies whether acommunication error has occurred. For example, if a completion notice isnot returned after the lapse of a preset time from the transmission ofthe combination of the TID and the processing request message, thevalidation management unit 235 verifies this situation as being due to acommunication error. If such communication error has occurred, theprocess transfers to step S144. If no communication error has occurred,the process transfers to step S145.

In step S144, the validation management unit 235 verifies whether alimit on the retry number of times for the bill processing has beenexceeded. If the limit on the retry number of times has been exceeded,the process is terminated without deleting the TID and the processingrequest message. This enables a processing request message for billprocessing to be re-transmitted, using the TID and the processingrequest message stored as described above, on restoration of thenetwork's communication environment. If the limit on the retry number oftimes has not been exceeded, the process transfers to step S142 tore-transmit the processing request message for bill processing.

In step S145, the validation management unit 235 verifies whether acompletion notice for the bill processing has been received from theapplication server 100. On receipt of the completion notice, the processtransfers to step S146. If the completion notice has not been received,the process transfers to step S143 to await the transmission of thecompletion notice.

In step S146, the validation management unit 235 verifies whether thecompletion notice for the bill processing is a completion noticeindicating the allowance of content validation. If the completion noticeis one indicating the allowance of content validation, the processtransfers to step S147 and, if otherwise, that is, the completion noticeis one indicating the non-allowance of content validation, the processtransfers to step S148.

In step S147, the validation management unit 235 requests that thevalidation processing unit 236 proceed to the process of contentvalidation. The validation processing unit 236 is responsive to therequest from the validation management unit 235 and validates thecontent. Specifically, the validation processing unit 236 decodes thecontent by a preset algorithm, using the decoding key associated withthe content. Meanwhile, a terminal having the function of protecting thecopyright protection performs a process of validating the content keywithin its system.

In step S148, the validation management unit 235 deletes the combinationof the TID and the processing request message corresponding to thevalidated content from the validation information storage unit 232. Theprocess then comes to a close.

This guarantees that the process of billing the purchase cost of thecontent and the process of validating the content are carried out as aset no matter at what time the network error occurs. That is, thecontent validation process is not performed unless the billing processfor the content purchase cost is performed. On the other hand, once thebilling process for the content purchase cost is carried out, thecontent validation process is performed.

For example, if the TID request or the TID reply is discarded, theapplication server 100 operates similarly to the ordinary system(processing shown in FIG. 16). When the portable telephone set 200accepts an error from the lower network layer at the validationmanagement unit 235, or when the reply awaiting state is sustained forlonger than a preset time period, the portable telephone set re-sendsthe TID request.

When the combination of the TID and the processing request message hasbeen discarded, the application server 100 operates similarly to thenormal system. When the validation management unit 235 accepts an errorfrom the lower network layer or when the reply awaiting state continuesfor longer than a preset time, the validation management unit 235 of theportable telephone set 200 re-transmits a processing request messagewhich has the same content as that of the discarded message and to whichhas been added the TID.

If the completion notice for the process is discarded, the combinationof the TID and the processing request message has already been saved inthe server side data storage unit 111 of the application server 100. Onreceipt of the processing request message from the portable telephoneset 200, with the same TID added to the processing request message, theapplication server 100 confirms whether a combination of the TID and theprocessing request message which is the same as the received combinationhas been stored in the server side data storage unit 111. If such sethas been stored, the application server 100 re-transmits the notice ofprocess completion without performing the requested process. If thevalidation management unit 235 accepts the error from the lower networklayer or if the reply awaiting state exceeds a preset time, thevalidation management unit 235 of the portable telephone set 200re-transmits a processing request message which has the same content asthe discarded message and to which has been added the TID.

By the above-described rule, it is guaranteed that a certain process onthe TID is carried out necessarily only once for both the applicationserver 100 and the portable telephone set 200.

The above explanation has been made for the case of validating thecontent in the portable telephone set 200. The content can be validatedby a substantially similar process in the terminal device 400. However,if the terminal device 400 is used, the content cost cannot be collectedusing a portable telephone usage fee collecting system, and hence aseparate fee collection system becomes necessary.

For example, the user of the terminal device 400 makes a userregistration in advance in the application server 100. The accountnumber of a financial organization for direct debiting, etc., ispre-registered in the information for the registered user. Beforeplacing a request for bill processing for the cost of the content, auser authentication process is carried out between the applicationserver 100 and the terminal device 400.

FIG. 20 is a sequence diagram of a transaction to validate the contentin the terminal device. In FIG. 20, the same process steps as those inFIG. 16 are depicted by the same step numbers and the explanationthereof is omitted for simplicity. The processing downstream of thebilling process (step S24 a) is similar to that shown in FIG. 16 andhence is not shown in FIG. 20.

In the following, only the points different from the case of using theportable telephone set in FIG. 16 are explained.

When the content is downloaded to the terminal device 400,authentication information is transmitted from the terminal device 400to the application server 100 (step S12 a). The authenticationinformation is, for example, a combination of a password and a user ID,registered in advance in the application server 100.

On receipt of the authentication information, the application server 100references the pre-registered user information to effect userauthentication. That is, if user information matched to the combinationof the user ID and the password has been registered, the user isspecified. The authentication is then terminated as regularly. Theapplication server 100 returns to the terminal device 400 a replyconfirming that the authentication has been prosecuted as regularly.

If, in prosecuting the user authentication, a cookie (the scheme ofexchanging information such as the user information or the accesshysteresis between the Web browser and the Web server) is delivered fromthe application server 100 to the terminal device 400, it subsequentlybecomes unnecessary to prosecute user authentication each time theapplication server 100 is accessed from the terminal device 400.

The process from step S13 to step S23, following the userauthentication, is similar to that in FIG. 16.

In the case of FIG. 20, bill processing is carried out in theapplication server 100 after inquiring as to the content price from thecontent server 310 (step S24 a). In the bill processing, the applicationserver 100 accesses a server (not shown) of a financial organizationsupervising the account based on the pre-registered user's accountnumber. The application server 100 makes a request for direct debitingof an amount equivalent to the content price from the account of theuser to be billed. The processing downstream of the billing process(step S24 a) is similar to that shown in FIG. 16.

This allows the terminal device 400 to download content and to executethe process of payment of the content fee and the process of contentvalidation as integrated processes.

In the above-described embodiment, the information on the account forbilling the content cost is registered in advance in the applicationserver 100 and in the billing server 320. Alternatively, the userinformation (such as credit number) may be transmitted from the portabletelephone set 200 or the terminal device 400 to the application server100 at the time of purchasing the content.

In the case of a device, such as the terminal device 400, in which datacan be read out from an optical disc 15, the content may be acquiredfrom the optical disc 15, without accessing the content server 310.

SECOND EMBODIMENT

A second embodiment of the present invention will now be explained. Inthe second embodiment, when the process of content validation in theportable telephone set 200 or in the terminal device 400 has come to aclose, the TID associated with the process is deleted from theapplication server 100. This enables the hardware resources (such as theHDD storage area) of the application server 100 to be utilizedeffectively.

FIG. 21 is a sequence diagram of a transaction to validate the contentin the second embodiment of the present invention. FIG. 21 shows anexample of content validation using the portable telephone set 200. InFIG. 21, processes similar to the processes shown in FIG. 16 aredepicted by the same step numbers and the corresponding explanations areomitted for simplicity. Moreover, the processing by the content server310 and the billing server 320 is the same as the processing of thefirst embodiment and hence the content server 310 and the billing server320 are disregarded in FIG. 21.

When a notice of process completion is issued from the applicationserver (step S27), and the portable telephone set 200 receives a noticeof process completion to perform the process of content validation (stepS28), a process end reply containing the TID is transmitted from theportable telephone set 200 to the application server 100 (step S30).After transmission of the process end reply, the portable telephone set200 erases the combination of the TID and the processing request message(step S29 a). On receipt of the processing end reply, the applicationserver 100 erases the TID item from the server side data storage unit111 (step S31).

This enables the server side data storage unit 111 of the applicationserver 100 to be utilized effectively.

THIRD EMBODIMENT

A third embodiment of the present invention will now be explained. Inthe third embodiment of the present invention, there is provided adefensive function against a person with a malignant intention. That is,even if data or messages transmitted on the network are intercepted, thecontent cannot be validated except by a device used by a person who paidfor the content.

FIG. 22 shows a block diagram illustrating the processing functions ofan application server in the third embodiment of the present invention.In FIG. 22, parts or components having the same functions as those ofthe first embodiment are depicted by the same reference numerals asthose used in the first embodiment shown in FIG. 11, and thecorresponding description is omitted for simplicity.

An application server 100 a of the third embodiment corresponds to theapplication server 100 of the first embodiment shown in FIG. 11 exceptthat it includes an encryption unit 116. Additionally, the function ofthe server management unit 113 is changed to give a server managementunit 113 a.

The encryption unit 116 encrypts or decodes the message using a secretkey co-owned with the client device, such as the portable telephone set.

The server management unit 113 a includes the functions of requestingthe encryption unit 116 to encrypt part of the information to betransmitted and to decode the encrypted information, in addition to thefunctions performed by the server management unit 113 shown in FIG. 11.The server management unit 113 a also has the function of generating theencrypted message or of decoding and analyzing the encrypted message.

FIG. 23 is a block diagram showing the processing functions of theportable telephone set according to the third embodiment of the presentinvention. In FIG. 23, parts or components having the same functions asthose of the first embodiment are indicated by the same referencenumerals as those used in FIG. 13 and the corresponding explanation isomitted for simplicity.

A portable telephone set 200 a of the third embodiment of the presentinvention corresponds to the portable telephone set 200 of the firstembodiment shown in FIG. 13, except that it includes random numbergenerator 237 and an encryption unit 238. Additionally, the functions ofthe validation information storage unit 232 and the validationmanagement unit 235 are changed to give a validation information storageunit 232 a and a validation management unit 235 a.

The random number generator 237 is responsive to a request from thevalidation management unit 235 a to generate a random number. The randomnumber generator 237 delivers the generated random number to thevalidation management unit 235 a.

The encryption unit 238 encrypts or decodes the message using the secretkey co-owned with the application server 100 a.

The validation management unit 235 a has the function of requesting therandom number generator 237 to generate random numbers, and the functionof requesting the encryption unit 238 to encrypt a portion of theinformation transmitted or to decode the encrypted information, inaddition to the functions performed by the validation management unit235 shown in FIG. 13. The validation management unit 235 a also has thefunction of generating the encrypted message, decoding and analyzing theencrypted message and having the random number built into the message.

The validation information storage unit 232 a is able to store, inaddition to the information that can be stored in the validationinformation storage unit 232 shown in FIG. 13, the random numbergenerated in the random number generator 237 in association with, e.g.,the TID.

FIG. 24 is a sequence diagram of a transaction to validate the contentin the third embodiment of the present invention. FIG. 24 shows a caseof validating the content using the portable telephone set 200 a. InFIG. 24, the same step numbers are used to denote the steps similar tothose shown in FIG. 16, and the corresponding explanation is omitted forsimplicity. Since the processing in the content server 310 and in thebilling server 320 is similar to that in the first embodiment, theseservers 310, 320 are disregarded in FIG. 24.

After the content is downloaded by the portable telephone set 200 a atsteps S11 and S12, the application server 100 a and the portabletelephone set 200 a execute a key exchange process (AKE: Authenticationand Key Exchange), using the public key allocated to both, to co-own thesecret key. It is also possible to distribute the secret key in advance,without executing the AKE process.

When the portable telephone set 200 a starts its operation, thevalidation management unit 235 a requests the random number generator237 to generate random numbers. The random number generator 237generates random numbers [NONCE#1] (step S42). The random numbergenerator 237 delivers the generated random numbers [NONCE#1] to thevalidation management unit 235 a. The validation management unit 235 acauses the random numbers [NONCE#1] to be saved in the validationinformation storage unit 232 a (step S43). The validation managementunit 235 a generates a TID request, added by the random numbers[NONCE#1], and sends the so generated TID request to the applicationserver 100 a (step S13 b).

On receipt of the TID request, the server management unit 113 a of theapplication server 100 a causes the TID issuing unit 114 to issue a TID(step S14). The server management unit 113 a then requests theencryption unit 116 to encrypt the random numbers [NONCE#1] inassociation with the TID. The encryption unit 116 is responsive at stepS44 to the request to encrypt the random numbers [NONCE#1] inassociation with the TID, using the secret key acquired at step S41.

The server management unit 113 a receives the encrypted random numbers[NONCE#1] and the TID from the encryption unit 116 and transmits the soreceived random numbers and the TID as a TID reply to the portabletelephone set 200 a (step S15 b). The encryption algorithm may, forexample, be a DES (Data Encryption Standard) CBC (Cipher Block Chaining)encryption algorithm.

On receipt of the TID reply, the validation management unit 235 a of theportable telephone set 200 a delivers the TID reply to the encryptionunit 238 to request decoding. The encryption unit 238 at step S45 isresponsive to the request from the validation management unit 235 a anddecodes the TID reply, using the secret key acquired at step S41. Thus,the TID and the random numbers [NONCE#1] are taken out from the TIDreply and delivered to the validation management unit 235 a.

The validation management unit 235 a checks whether the random numbers[NONCE#1] taken out are the same as those saved in the validationinformation storage unit 232 a (step S46). If the random numbers takenout are not the same as those saved, this transaction is terminated asbeing a failure. If the random numbers taken out are the same as thosesaved, the TID is saved (step S16) and the processing request message issaved (step S17).

The validation management unit 235 a then requests the random numbergenerator 237 to generate random numbers. The random number generator237 generates new random numbers [NONCE#2] (step S47). The random numbergenerator 237 delivers the generated random numbers [NONCE#2] to thevalidation management unit 235 a.

The validation management unit 235 a saves the random numbers [NONCE#2]in the validation information storage unit 232 a (step S48). Thevalidation management unit 235 a adds the random numbers [NONCE#2] tothe TID and to the processing request message and requests encryption bythe encryption unit 238. The encryption unit 238 is responsive at stepS49 to the request from the validation management unit 235 a andcollectively encrypts the TID, processing request message and randomnumbers [NONCE#2], using the secret key acquired at step S41. Theencrypted data is delivered to the validation management unit 235 a.

The validation management unit 235 a transmits the data, encrypted bythe encryption unit 238, to the application server 100 a, as being theprocessing request message with the TID added thereto (step S18 b).

The server management unit 113 a of the application server 100 adelivers the processing request message, to which the TID has beenadded, to the encryption unit 116 to request decoding. The encryptionunit 116 decodes the processing request message, to which the TID hasbeen added, using the secret key acquired at step S41, to take out theTID, processing request message and random numbers [NONCE#2] (step S50).The decoded data is delivered to the server management unit 113 a.

Subsequently, the saving of the processing request message is confirmed(step S19), the saving of the TID and the processing request message(step S20), setting of the unbilled flag (step S21) and bill processing(steps S22 to S25) are carried out, and the unbilled flag is reset (stepS26). The server management unit 113 a adds the random numbers [NONCE#2]as random numbers for inspection and transmits a notice of processingcompletion to the portable telephone set 200 a.

The validation management unit 235 a of the portable telephone set 200 aat step S51 checks whether the random numbers [NONCE#2] contained in thenotice of process completion are the same as the random numbers[NONCE#2] saved in the validation information storage unit 232 a in theprocessing at step S48. If the random numbers are different, thetransaction is terminated as being a failure. If the random numbers arethe same, the contents are validated (step S28), while the TID and theprocessing request message are erased (step S29).

This effectively prevents the content from being illicitly used.

For example, by encrypting the TID reply and the processing requestmessage, it is possible to prevent interception by those with malignantintention on the network, based on the strength of the encryption used.

The information exchange by malignant users may be coped with by buryingthe random numbers [NONCE#1] and [NONCE#2]. In the absence of theserandom numbers, the encrypted messages are the same at all times,provided that the key and the message are the same. In this case,illicit use becomes possible by the following sequence.

First, when a processing request is made, a transaction (from TIDacquisition to content validation) is completed once with success. Atthis time, the TID reply and the process completion message are capturedfrom the network and saved. The portable telephone set then generates anew processing request, which then is discarded without beingtransmitted to the application server. In place of the TID reply and thenotice of process completion which should be returned from theapplication server, the TID reply and the notice of process completionwhich have been saved are returned.

This enables the portable telephone set to execute the validationprocess. In this case, no bill processing is carried out in theapplication server. Specifically, this means that the content isvalidated on the portable telephone set without bill processing beingperformed.

In the third embodiment of the present invention, the random numbers[NONCE#1] and [NONCE#2] are added to the TID request and to thecombination of the TID and the processing request message, respectively,whereby the portable telephone set 200 a is able to recognize that thereply is that from the application server 100 a to its own request. Thismeans that information exchange is not possible.

Thus, with the third embodiment, the transaction of effective use of theserver storage area is able to strongly prevent an attack, such asinterception.

The above-described processing functions may be implemented by a servercomputer and a client computer. In this case, a server program, statingthe processing contents of the functions to be performed by a serverdevice (content server, billing server, access server and theapplication server) and a client program stating the processing contentsof the functions to be performed by a client device, such as a portabletelephone set, are provided. By executing the server program on a servercomputer, the processing functions of a server device can be realized onthe server computer. On the other hand, by executing the client programon a client computer, the processing functions of a client device can berealized on the client computer. The server and client programs, statingthe processing contents, may be recorded on a computer-readablerecording medium. The computer-readable recording medium may be in theform of a magnetic recording device, an optical disc, a magneto-opticalrecording medium and a semiconductor memory. The magnetic recordingdevice may, for example, be a hard disc device (HDD), a flexible disc(FD) or a magnetic tape. The optical disc may, for example, be a DVD, aDVD-RAM, a CD-ROM or a CD-R/RW, while the magneto-optical recordingmedium may, for example, be a MO (Magneto-Optical Disc).

For circulating a server program or a client program, a portablerecording medium, such as a DVD or CD-ROM, each having recorded thereona program(s), has been commercialized. It is also possible to transfer aclient program stored in a storage device of a server device from theserver device to the client device over a network.

The server computer, executing a server program recorded on, e.g., aportable recording medium, causes the server program to be stored in itsown storage device. The server computer directly reads out the serverprogram from its own storage device and executes processing inaccordance with the server program. The server computer may also readout the server program directly from the portable recording medium andexecute the processing stated in the server program.

The client computer, executing a client program, recorded on, e.g., aportable recording medium, or transferred from a server computer, storesthe client program in its own storage device. The client computer readsout the client program from its own storage device and executesprocessing in accordance with the client program. The client computer isalso able to read out the client program directly from the portablerecording medium and execute processing in accordance with the so readout client program. Moreover, the client computer is also able toexecute processing in accordance with client programs sequentiallytransferred from the server computer.

According to the present invention, if a communication error is detectedby a client device, a processing request having the same identificationinformation as that of a previous processing request is re-transmittedto a server device, and, if a processing request having the sameidentification information as that of a completed first process isre-received by the server device, a completion notice for the firstprocess is transmitted from the server device to the client device,without executing the first process. Thus, even if the completion noticehas not been received due, for example, to network malfunctioning, theclient device is able to receive the completion notice and execute thesecond process, without executing the first process twice, subject tore-transmission of the processing request. As a consequence, it isguaranteed that the first process is carried out once and the secondprocess is similarly carried out once.

1. A client device for validating invalidated contents by concertedprocessing with the processing by a server device, comprising:processing request transmitting means for transmitting a processingrequest for billing processing, afforded with the identificationinformation, to said server device; validation processing executingmeans which, on receipt of a completion notice of said billingprocessing from said server device, validates the invalidated contents;and re-transmitting means which, if a communication error has beendetected before receipt of a completion notice for said processingrequest transmitted by said processing request transmitting means,re-transmits said processing request to said server device.
 2. Aportable telephone set for validating invalidated contents by concertedprocessing with the processing by a server device, comprising:processing request transmitting means for transmitting a processingrequest for billing processing, afforded with the identificationinformation, to said server device; validation processing executingmeans which, on receipt of a completion notice of said billingprocessing from said server device, validates the invalidated contents;and re-transmitting means which, if a communication error has beendetected before receipt of a completion notice for said processingrequest transmitted by said processing request transmitting means,re-transmits said processing request to said server device.
 3. A programfor allowing to perform a concerted processing between a first computerand a second computer interconnected over a network, said program beingsuch a one in which said first computer transmits a processing requestfor a first processing, afforded with the identification information, tosaid second computer; said second computer on receipt of said processingrequest executes said first processing only once for one item of theidentification information, said second computer transmitting acompletion notice of said first processing to said first computer oncompletion of said first processing or on re-receipt of said processingrequest for said first processing afforded with the same identificationinformation as that conferred to the completed first processing; and onreceipt of said completion notice from said second computer, said firstcomputer executes the second processing correlated in advance with saidfirst processing; said first computer re-transmitting said processingrequest to said second computer on detection of a communication errorbefore receipt of said completion notice.
 4. A program for allowing toperform concerted processing by a computer with another device connectedthereto over a network, said program being such a one in which saidcomputer on receipt of a processing request for a first processing,afforded with the identification information, executes said firstprocessing only once for one item of said identification information,and in which said computer on completion of said first processing or onre-receipt of said processing request for said first processing,afforded with the same identification information as that conferred tothe completed first processing, transmits a completion notice of saidfirst processing to the source of transmission of said processingrequest.
 5. A program for surrogating the billing of the cost of apayable content by a computer, said program being such a one in whichsaid computer on receipt of a processing request for billing processingfor the cost of said contents, afforded with the identificationinformation, executes said billing processing only once for one item ofsaid identification information, and in which said computer oncompletion of said billing processing or on re-receipt of saidprocessing request for said billing processing, afforded with the sameidentification information as that conferred to the completed billingprocessing, transmits a completion notice of said billing processing tosaid source of transmission of said processing request.
 6. A program forallowing to perform concerted processing by a computer with a serverdevice connected thereto over a network, said program being such a onein which said computer transmits to said server device a processingrequest for said first processing, afforded with the identificationinformation, and in which on receipt of a completion notice of saidfirst processing from said server device, said computer executes secondprocessing correlated in advance with said first processing, saidcomputer re-transmitting said processing request to said server deviceif a communication error is detected before receipt of said completionnotice.
 7. A program for allowing to perform the processing by acomputer of validating invalidated contents in a concerted fashion withprocessing by a server device, said program being such a one in whichsaid computer transmits a processing request for billing processing,afforded with the identification information, to said server device; andin which on receipt of a completion notice of said billing processingfrom said server device, said computer executes the processing ofvalidating the invalidated contents; said computer re-transmitting saidprocessing request to said server device if a communication error isdetected before receipt of said completion notice.